A. Field of the Invention
The present invention relates to Scientific Data Processing Systems. More particularly, it relates to those scientific data processing systems which include the execution and manipulation of strings of elements known as vectors. Because of the length of these vectors, it is usually necessary to accomplish their execution in unique program steps called program loops. The present invention is a mechanism for the control of these program loops.
B. Prior Art
Loop control mechanisms in the past usually shared registers and instructions which were generally used in the operation of the main data processing system. As a consequence, loop operations were interspersed with other instructions and were handled in the usual sequential manner. Because of this sharing of these registers, any computation of loop counts was accomplished during the loop operation.
Increases in computing rates have been achieved through advances in physical technologies relating to hardware and hardware functioning. The advent of integrated circuitry gave rise to circuit components operable at very fast computing rates, and capable of performing complex functions while remaining economically feasible. Access and cycle time of memories has also been markedly decreased.
In addition to the changes and developments in the hardware, there have been continuing advances in the organizational architecture of data processing system that provide for ever-increasing utilization of the various data processing components. While many examples of optimization of utilization of the components comprising the data processing systems can be described, attention will be directed to the concept of increasing data processing rates by providing for an overlap of macro instruction execution.
It has been known for some time that instructions in data processing systems that basically provide for the steps of instruction procurement and instruction decoding, instruction operation, and storage of results, could be overlapped such that once an existing instruction was procured from the memory and the current instruction passed into execution, the memory would be available for accessing for the next instruction. This allowed overlapping of the instructions primarily based upon the availability of access to the memory unit. This type of instruction overlapping was most common in the data processors that involved so-called hardwired instruction repertoire and control.
This invention addresses the problem of overlap of instructions of the type just described, and provides a system that enhances the system operation by accomplishing the overlap of instructions.
It is therefore a purpose of this invention to introduce a unique mechanism for the control of these loop programs in a vector-oriented data processing system. The mechanism proposed provides a high-performance means of handling the parameters associated with these program loops in a scientific data processing system, particularly those involved with vector processing.